package com.cn.kehong.api;

import com.alibaba.fastjson.JSONObject;
import com.cn.kehong.domain.ProductPeiJobSupplier;
import com.cn.kehong.domain.ProductPeiTou;
import com.cn.kehong.utils.QueryForm;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

public interface IProductPeiTouService {

    List<ProductPeiTou>getProductPeiTouList(QueryForm queryForm)throws Exception;

    List<ProductPeiTou>getProductPeiTouDutyDayList(QueryForm queryForm)throws Exception;

    List<ProductPeiTou>getProductUnCompleteOrDutyPeiTous(QueryForm queryForm)throws Exception;

    Map<String,Integer> getProductPeiTouDutyDayCountMap(QueryForm queryForm)throws Exception;

    Map<String,Object> getScanQRCode(String qrCode)throws Exception;

    String getProductPeiTouCount()throws Exception;

    String addProductPeiTou(ProductPeiTou productPeiTou)throws Exception;

    String updateProductPeiTou(ProductPeiTou productPeiTou)throws Exception;

    String updateEndProductPeiTouByCodes(List<String> productCodes)throws Exception;

    String deleteProductPeiTou(String id)throws Exception;

    String addAPIProductPeiJobs(ProductPeiTou productPeiTou)throws Exception;

    List<ProductPeiJobSupplier>getProductPeiJobSuppliersByPeiId(String peiId)throws Exception;

    List<ProductPeiTou> getProductPeiTouBackList(QueryForm queryForm)throws Exception;

    Map<String, Object> getProductionCount()throws Exception;

    Map<String, Object> getProductBackCount()throws Exception;

    Map<String, Object> getProductPeiTouDutyDayCount(QueryForm queryForm)throws Exception;

    List<ProductPeiTou> getProduceByDay(QueryForm queryForm)throws Exception;


    String printSampleInfo(String factoryName, String gradeValue, String banCi,QueryForm queryForm) throws Exception;

    String printSampleInfo1(String factoryName, String gradeValue, QueryForm queryForm) throws Exception;

    List<ProductPeiTou> getProduceByBanCi(QueryForm queryForm)throws Exception;

    void exportProduceByDay(QueryForm queryForm, HttpServletResponse response)throws Exception;

    void exportProduceByBanCi(QueryForm queryForm, HttpServletResponse response)throws Exception;


    //首页
    List<JSONObject> getProductPeiTouToday()throws Exception;

    void exportDateBack(QueryForm queryForm, HttpServletResponse response)throws Exception;

    List<ProductPeiTou> getGradeByCode(ProductPeiTou productPeiTou)throws Exception;

    List<ProductPeiTou> getProductPeiTouList1(QueryForm queryForm)throws Exception;
}
